/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.clyme.expediente.controlador;

import com.clyme.expediente.entidad.LineaTrabajo;
import com.clyme.expediente.servicios.LineaServicios;
import com.clyme.expediente.utilitarios.Utilitario;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author SAM
 */
@ManagedBean(name = "lineaControlador")
@ViewScoped
public class LineaControlador implements Serializable{
    
    private List<LineaTrabajo> lineas;
    private LineaTrabajo linea;
    private LineaServicios lineaServicios;
            
            
    public LineaControlador() {
    }
    
    public void initLista()
    {
        if (!FacesContext.getCurrentInstance().isPostback()) 
        {
            lineaServicios = new LineaServicios();
            lineas = lineaServicios.obtenerTodos();
        }
    }
    
    public void initRegistrar()
    {
        if (!FacesContext.getCurrentInstance().isPostback()) 
        {
            lineaServicios = new LineaServicios();
            linea = new LineaTrabajo();
        }
    }
    
    public void initUpdate()
    {
        if (!FacesContext.getCurrentInstance().isPostback()) 
        {
            Object parametro = Utilitario.getFlash("idLinea");
            if (parametro == null) {
                Utilitario.redireccionarJSF(FacesContext.getCurrentInstance(), "/views/linea/list.xhtml");
                return;
            }
            lineaServicios = new LineaServicios();
            linea = lineaServicios.obtenerLinea(Integer.valueOf(parametro.toString()));
        }
    }
    
    public void prepararEliminar(Integer id)
    {
        linea = lineaServicios.obtenerLinea(id);
    }
    
    public void registrarLinea()
    {
        if(!esVistaValida())
        {
            return;
        }
        lineaServicios.registrarLinea(linea);
        limpiar();
    }
    
    public String irActualizar(int id)
    {
        Utilitario.putFlash("idLinea", id);
        return "update.xhtml?faces-redirect=true";
    }
    
    public void actualizarLinea()
    {
        if(!esVistaValida())
        {
            return;
        }
        lineaServicios.actualizarLinea(linea);
    }
    
    public void eliminarLinea(){
        lineaServicios.eliminarLinea(linea);
        lineas = lineaServicios.obtenerTodos();
    }
    
    private void limpiar()
    {
        linea = new LineaTrabajo();
    }

    private boolean esVistaValida()
    {
        boolean ok = true;
        return ok;
    }
    
    /** GETTERS  AND SETTERS    **/
    
    public List<LineaTrabajo> getLineas() {
        return lineas;
    }

    public void setLineas(List<LineaTrabajo> lineas) {
        this.lineas = lineas;
    }

    public LineaTrabajo getLinea() {
        return linea;
    }

    public void setLinea(LineaTrabajo linea) {
        this.linea = linea;
    }
    
}
